/*
 * Global_types.h
 *
 *  Created on: 19.09.2012
 *      Author: Lapchinskiy
 */

#ifndef GLOBAL_TYPES_H_
#define GLOBAL_TYPES_H_
//7.18.1.1  Exact-width integer types
typedef signed char int8_t;
typedef unsigned char   uint8_t;
typedef short  int16_t;
typedef unsigned short  uint16_t;
typedef int  int32_t;
typedef unsigned   uint32_t;
typedef long long  int64_t;
typedef unsigned long long   uint64_t;

//7.18.1.2  Minimum-width integer types
typedef signed char int_least8_t;
typedef unsigned char   uint_least8_t;
typedef short  int_least16_t;
typedef unsigned short  uint_least16_t;
typedef int  int_least32_t;
typedef unsigned   uint_least32_t;
typedef long long  int_least64_t;
typedef unsigned long long   uint_least64_t;

#define TRUE (uint8_t)1
#define FALSE (uint8_t) 0
typedef enum {
	NONE = 0,
	SYS_TICK,
	OBTURATOR_SLOPE,
	LOG_COMMAND_RECEIVED,
	LAST_EVENT,
	MAX_EVENT_NUMBER

} EventType;

typedef enum {TASK=0, DRIVER=1, UART, SENSOR, SCHEDULER } ModuleType;
typedef struct
{
	ModuleType module;
	char* objectName;
} LogRecord;

typedef enum {NO_ERR=0, FAIL=2} ErrorCode;

#endif /* GLOBAL_TYPES_H_ */
